<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>留言板</title>
    <style>
        .container {
            width: 350px;
            height: 300px;
            margin: 0 auto;
            /* border: 1px black solid; */
            text-align: center;
        }

        .grey {
            color: grey;
        }

        .container .row {
            width: 350px;
            height: 40px;

            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .container .row input {
            width: 260px;
            height: 30px;
        }

        #submit {
            width: 350px;
            height: 40px;
            background-color: orange;
            color: white;
            border: none;
            margin: 10px;
            border-radius: 5px;
            font-size: 20px;
        }
    </style>
</head>

<body>
    <div class="container">
        <h1>留言板</h1>
        <p class="grey">输入后点击提交, 会将信息显示下方空白处</p>
        <div class="row">
            <span>谁:</span> <input type="text" name="" id="from">
        </div>
        <div class="row">
            <span>对谁:</span> <input type="text" name="" id="to">
        </div>
        <div class="row">
            <span>说什么:</span> <input type="text" name="" id="say">
        </div>
        <input type="button" value="提交" id="submit" onclick="submit()">
        <!-- <div>A 对 B 说: hello</div> -->
    </div>

    <script src="/js/jquery-3.7.1.min.js"></script>
    <script>
        // 确保在 jQuery 加载完成后执行
        $(document).ready(function () {
            load();
        });
        function load(){
            $.ajax({
                "url": "/message/getList",
                "type": "get",
                "success": function (messages) {
                    if(messages != null && messages.length > 0) {
                        let finalHtml = "";
                        for(let m of messages) {
                            finalHtml+= "<div>" + m.from + "对" + m.to + "说" + m.message +  "</div>";
                        }
                        $(".container").append(finalHtml);
                    }
                }
            });
        }

        function submit() {
            // 1. 获取留言的内容
            let from = $("#from").val();
            let to = $("#to").val();
            let say = $("#say").val();

            if(from == '' || to == '' || say == '') {
                return;
            }

            $.ajax({
                "url": "message/publish",
                "type": "post",
                "contentType" : "application/json",
                "data": JSON.stringify({//将JSON转化为对象
                    "from": from,//使用变量from
                    "to": to,//使用变量to
                    "message": say //使用变量say
                }),
               success: function (result) {
                   let jsonObj = JSON.parse(result);//JSON字符串转为对象
                   if(jsonObj.ok == 1) {
                       //2. 构造节点
                       let divE = "<div>" + from + "对" + to + "说" + say +  "</div>";

                       //3. 把节点添加到页面上
                       $(".container").append(divE);

                       //4. 清空输入框的值
                       $("#from").val("");
                       $("#to").val("");
                       $("#say").val("");
                   }else {
                       alert("留言发布失败");
                   }
               }
            });
        }
    </script>
</body>

</html>